Mobile device based control device locator

ABSTRACT

Disclosed herein are system, apparatus, article of manufacture, method, and/or computer program product embodiments for a mobile device based control device locator. An embodiment operates by receiving a request to locate a control device, transmitting acoustic token transmission information to the control device to activate an electroacoustic transducer on the control device, receiving an acoustic signal including an acoustic token signal from the control device via a plurality of acoustic sensors, and determining distance information of the control device based on the received acoustic token signal generated by the electroacoustic transducer of the control device.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. Non-Provisional patentapplication Ser. No. 16/545,426, filed Aug. 20, 2019, now pending, whichis a continuation of U.S. Non-Provisional patent application Ser. No.14/813,766 (Atty. Dkt. No. 3634.0520000) titled “MOBILE DEVICE BASEDCONTROL DEVICE LOCATOR,” filed Jul. 30, 2015, now U.S. Pat. No.10,401,473, all of which is herein incorporated by reference in theirentirety.

BACKGROUND Field

This disclosure is generally directed to locating a control device usinga mobile device. More particularly, this disclosure relates to mobiledevice based control device locators.

Background

Consumer electronics such as, for example, high definition audio and/orvideo play back devices, typically provide a remote control to enable auser to operate, select, and/or playback available audio and/or videocontent on a display connected to the high definition audio and/or videoplayback device. However, due to the inconspicuous nature of remotecontrols, consumers or users of a high definition audio and/or videoplay back device will often not remember or misplace where they may havephysically placed the remote control after several hours of non-use.This problem may be further exacerbated when several users share the useof the high definition audio and/or video play back device and each usermay not physically place the remote control in a prominent location foreach other to use. Consequently, it may be difficult for the consumersor users to locate the remote control. Accordingly, it would bedesirable to provide improved techniques for providing a mobile devicebased control device locator.

SUMMARY

Provided herein are system, apparatus, article of manufacture, methodand/or computer program product embodiments, and/or combinations andsub-combinations thereof, for providing a mobile device based controldevice locator.

An embodiment includes a computer implemented method for a mobile devicebased control device locator. The method may operate by receiving arequest to locate a control device; transmitting acoustic tokentransmission information to the control device to activate anelectroacoustic transducer on the control device; receiving an acousticsignal including an acoustic token signal from the control device via aplurality of acoustic sensors operatively coupled to the at least oneprocessor; and determining distance information of the control devicebased on the received acoustic token signal generated by theelectroacoustic transducer of the control device.

Another embodiment includes a system for mobile device based controldevice locator. The system may include at least one processor and amemory coupled to the at least one processor and configured to receive arequest input to locate a control device, transmit acoustic tokentransmission information to the control device to activate anelectroacoustic transducer on the control device, receive an acousticsignal including an acoustic token signal from the control device via aplurality of acoustic sensors, and determine distance information of thecontrol device based on the received acoustic token signal generated bythe electroacoustic transducer of the control device.

A further embodiment includes a tangible computer-readable device havinginstructions stored thereon that, when executed by at least onecomputing device, causes the at least one computing device to performoperations. The operations may include receiving a request to determinedistance information and direction information; transmitting acoustictoken transmission information to a mobile device to activate anelectroacoustic transducer on the control device; receiving an acousticsignal including an acoustic token signal from the mobile device via aplurality of acoustic sensors; and determining the distance informationof the mobile device based on the received acoustic token signalgenerated by the electroacoustic transducer of the mobile device.

BRIEF DESCRIPTION OF THE FIGURES

The accompanying drawings are incorporated herein and form a part of thespecification.

FIG. 1 illustrates a block diagram of a control device location systemconfigured according to an example embodiment.

FIG. 2 illustrates components of a mobile device and control deviceaccording to an example embodiment.

FIGS. 3A-B illustrate interactions between the mobile device and controldevice according to example embodiments.

FIGS. 4A-B illustrate control device location initiation user interface(UI) view and control device location UI view according to exampleembodiments.

FIGS. 5A-B illustrate processing operations between the mobile deviceand control device according to example embodiments.

FIG. 6 illustrates an example computer system useful for implementingvarious embodiments.

Like reference numerals refer to corresponding parts throughout theseveral views of the drawings. Additionally, generally, the left-mostdigit(s) of a reference number identifies the drawing in which thereference number first appears. Furthermore, one or more designators tothe right of a reference number such as, for example, “a” and “b” and“c” and other similar designators are intended to be variablesrepresenting any positive integer. Thus, for example, if animplementation sets a value for a=4, then a complete set of elements104-a may include elements 114-1, 114-2, 114-3, and 114-4.

DETAILED DESCRIPTION

FIG. 1 illustrates a block diagram according to an embodiment of acontrol device location system 100. In particular, the control devicelocation system 100 may include one or more interface systems 110-a, aplatform server device 120, and one or more content source systems130-b. In an embodiment, the interface systems 110-a may include,without limitation, a display devices 112-a (e.g. a monitor, television,a projector, etc.), a media devices 114-a (e.g. streaming devices,multimedia devices, audio/video playback devices, etc.), control devices116-a, and/or mobile devices 118-a.

In an embodiment, the media devices 114-a may be integrated with,operatively coupled to, and/or connected to their respective displaydevices 112-a, control device 116-a, and/or network 150. The mediadevices 150 may be configured to communicate with their respectivedisplay devices 112-a and network 150. In various embodiments, thenetwork 150 may include, without limitation, a computer and/ortelecommunications network which may enable coupled and/orinterconnected systems and/or devices to communicate information betweenand among each other. In various embodiments, the network 150 mayinclude, without limitation, intranet, extranet, Internet, and/or anyother local, regional, global telecommunications network.

In an embodiment, the platform server device 120 may include, withoutlimitation, a platform datastore 122 and a platform application 124. Theplatform datastore 122 may be configured to store platform informationwhich may include, without limitation, network locations and contentdescriptions of content source systems 130-b, hardware/softwarecapabilities of different firmware versions and specifications of themedia devices 114-a, customer information associated with each mediadevices 114-a, and user interface (UI) information associated with themedia devices 114-a. The stored customer information may include,without limitation, demographic information, geographic information,internet service provider (ISP) identification information, financialinformation, and/or any other information that may be associated withcustomers or users of the media devices 114-a. In an embodiment,platform server device 120 may enable access to the content stored inthe one or more content source systems 130-b.

In an embodiment, the platform server device 120 may generate customizedUI information for one or more of the media devices 114-a. The generatedcustomized UI information may include content such as, for example,audio, visual, and/or gaming content for selection by the consumers orusers of the one or more media devices 114-a utilizing, for example,respective control devices 116-a and/or mobile devices 118-a. Theplatform server device 120 may be further configured to provide thegenerated UI information to respective media devices 114-a for graphicaland/or aural presentation via the respective display devices 114-aand/or mobile devices 118-a, which may enable a consumers or users toselect and/or access content from the content source systems 130-b.

In an embodiment, the platform server device 120 may be configured toreceive command information from media devices 114-a and may process thecommand information through the platform server application 124. Thecommand information received from the media devices 114-a may include,without limitation, navigation commands and/or selection commands whichmay represent selection of content, search for content, and/or anongoing interaction with an application executing on the platform serverdevice 120. In an embodiment, the media devices 114-a may be configuredto acoustically, graphically, and/or visually present user interfacesand/or content on respective display devices 112-a. For example, themedia device 114-1 may be configured to acoustically, graphically,and/or visually present content on the display device 112-1 sourced frommedia device 114-1, the platform server device 120, the one or morecontent source systems 130-b, or any combination thereof.

Additionally or alternatively, the media device 114-1 may be configuredto provide the one or more user interface (UI) views and/or UI elementsand associated acoustic information to display device 112-1 foracoustical, graphical, and/or visual presentation, where the UI views,UI elements, and/or associated acoustic information may be generated bythe platform server device 120, the one or more content source systems130-b, or the media device 114-1.

In an embodiment, the control devices 116-a may be configured tocommunicate user input information with the respective media devices114-a and may optionally include a touch screen display (not shown),audio input and/or output circuitry. For example, the control device116-1 may be configured to utilize one or more wireless communicationprotocols and/or standards, which may include, without limitation,infrared (IR) protocols and/or standards, radio frequency (RF) protocolsand/or standards, and/or Bluetooth protocol and/or standard tocommunicate with the media device 114-1 and/or mobile device 118-1. Inan embodiment, the control device 116-1 may be further configured toenable a consumer or user of media device 114-a to navigate and/or makeuser selections from the UI views presented on the display device 112-1.

Additionally or alternatively, the control device 116-1 itself may beconfigured to present at least a portion of the UI views on a touchscreen display (not shown) connected and/or integrated with the controldevice 116-1 to enable a consumer or user of media device 114-1 tonavigate, select, or otherwise interact with various content aspreviously discussed. Examples of control devices 116-a may include,without limitation, remote controls.

In an embodiment, the mobile devices 118-a may also be configured tocommunicate user input information with respective media devices 114-a.For example, the mobile device 118-1 may be configured to utilize theone or more wireless communication protocols and/or standards andinclude a touch screen display as discussed with respect to controldevices 116-a to enable the consumer or user of the media device 114-1to navigate and/or make user selections from the UI views presented onthe display device 112-1 and/or the touch screen display integrated withand/or connected to the mobile device 118-1. Examples of mobile devices118-a may include, without limitation, mobile phones, smart phones,tablets, and/or mobile computers.

In an embodiment, the content source systems 130-b may include contentserver devices 132-b and associated content datastore 134-b. In oneembodiment, the network address and/or path of particular content storedwithin the content datastores 134-b may be maintained within theplatform server device 120. In another embodiment, the network locationof the content source systems 130-b is maintained and stored within theplatform server device 120 while the specific locations of correspondingcontent are managed locally by the content source systems 130-b. In yetanother embodiment, the network location and/or path of the contentsource systems 130 is embedded within the UI elements representative ofselectable and/or viewable content displayed via the media devices 114-aand/or display devices 112-a, such that interaction with the UI elementsthrough the media devices 114-a allows the selectable and/or viewablecontent located within the content source systems 130-b to be accessibleto the media devices 114-a.

In an embodiment, the content stored within the content datastores 134-bmay include music, video, multimedia, still pictures, text, graphics,gaming applications, and the like. In another embodiment, the particularcontent which is stored within the content datastores 134-b may berequested and provided to the media devices 114-a through the network150.

By way of example, the media device 114-1 may communicate with platformserver device 120 to request specific content for acoustic, graphic,and/or visual presentation on display device 112-1. If the requestedcontent is audio/video content, the platform server device 120 mayrequest the specific content from the one or more respective contentsource systems 130-b (e.g., content source system 130-1, etc.) vianetwork 150, receive at least a portion of the specific content, andtransmit or stream the at least a portion of the specific content to themedia device 114-1 via network 150.

In addition to or alternative to the above example, the platform serverdevice 120 may provide one or more network addresses and/or paths of therespective content source systems 130-b (e.g., content source system130-1, etc.) to the media device 114-1, and the media device 114-1 maysubsequently directly request the specific content from the one or morerespective content source systems 130-b (e.g., content source system130-1, etc.), and receive at least a portion of the specific contenttransmitted or streamed by the one or more respective content sourcesystems 130-b to the media device 114-1 via network 150 for acoustic,graphic, and/or visual presentation on display device 112-1.

FIG. 2 illustrates a block diagram of an embodiment of the mobile device118-1 and the control device 116-1 communicatively coupled to each othervia respective communication component 258 and communication component210.

In an embodiment, the mobile device 118-1 may be generally arranged toprovide mobile computing and/or mobile communications and may include,but is not limited to, memory 252, processor component 254,communications component 258, acoustic input/output component 262, touchsensitive display component 282, haptic component 272, locationcomponent 276, motion component 280, and orientation component 264,where each of the components and memory 252 may be operatively connectedvia interconnect 256.

In an embodiment, the processor component 254 may be generally arrangedto execute instruction information including one or more instructions.In an embodiment, the processor component 254 may be a mobile processorcomponent or system-on-chip (SoC) processor component which maycomprise, among other elements, processor circuit, which may include,but is not limited to, at least one set of electronic circuits arrangedto execute one or more instructions. Examples of processor components254 may include, but is not limited to, QUALCOMM® SNAPDRAGON®, NVIDIA®TEGRA®, INTEL® ATOM®, SAMSUNG® EXYNOS®, APPLE® A7®, APPLE® A8®, or anyother type of mobile processor(s) arranged to execute the instructioninformation including the one or more instructions stored in memory 252.

In an embodiment, the memory 252 may be generally arranged to storeinformation in volatile and/or nonvolatile memory, which may include,but is not limited to, read-only memory (ROM), random-access memory(RAM), dynamic RAM (DRAM), Double-Data-Rate DRAM (DDRAM), synchronousDRAM (SDRAM), static RAM (SRAM), programmable ROM (PROM), erasableprogrammable ROM (EPROM), electrically erasable programmable ROM(EEPROM) flash memory, polymer memory such as ferroelectric polymermemory, ovonic memory, phase change or ferroelectric memory,silicon-oxide-nitride-oxide-silicon (SONOS) memory, solid state memorydevices (e.g., USB memory, solid state drives SSD, etc.), and/or anyother type of storage media configured for storing information.

In an embodiment, the communications component 258 may be generallyarranged to enable the mobile device 118-1 to communicate, directlyand/or indirectly, with control device 116-1, media device 114-1,platform server device 120, and/or content source systems 130-b. Thecommunications component 258 may include, among other elements, a radiofrequency circuit 160 configured for encoding and/or decodinginformation and receiving and/or transmitting the encoded information asradio signals in frequencies consistent with the one or more wirelesscommunications standards (e.g., Wireless IEEE 802.11, WiMAX IEEE 802.16,Global Systems for Mobile Communications (GSM), Enhanced Data Rates forGSM Evolution (EDGE), Long Term Evolution (LTE), Bluetooth standards,Near Field Communications (NFC) standards, etc.).

In an embodiment, the acoustic input/output (I/O) component 262 may begenerally arranged for converting sound, vibrations, or any othermechanical waves received by the mobile device 118-1 into digital orelectronic signals representative of acoustic input informationutilizing one or more acoustic sensors 262-1-c (e.g., microphones,etc.), which may be located or positioned on or within the housing,case, or enclosure of the mobile device 118-1 to form an microphonearray. The acoustic input/output (I/O) component 262 may be configuredto provide acoustic input information for each of the one or moreacoustic sensors 262-1-c. Additionally, the acoustic I/O component 262may be further arranged to receive acoustic output information andconvert the received acoustic output information into electronic signalsto output sound, vibrations, or any other mechanical waves utilizing theone or more electroacoustic transducers 262-2-c (e.g., speakers, etc.).

In an embodiment, the touch sensitive display component 282 may begenerally arranged to receive and present visual display information,and provide touch input information based on detected touch based orcontact based input. Moreover, the touch sensitive display component 282may include, among other elements, display device (e.g., liquid-crystaldisplay, light-emitting diode display, organic light-emitting diodedisplay, etc.) for presenting the visual display information and touchsensor(s) (e.g., resistive touch sensor, capacitive touch sensor, etc.)associated with the display device 268 to detect and/or receive touch orcontact based input information via associated with the display device268. Additionally, the touch sensor(s) may be integrated with thesurface of the display device, so that a user's touch or contact inputmay substantially correspond to the presented visual display informationon the display device.

In an embodiment, the haptic component 272 may be generally arranged toprovide tactile feedback with varying strength and/or frequency withrespect to time through the housing, case, or enclosure of the mobiledevice 118-1. Moreover, the haptic component 272 may include, amongother elements, a vibration circuit (e.g., an oscillating motor,vibrating motor, etc.) arranged to receive haptic output information andconvert the received haptic output information to mechanical vibrationsrepresentative of tactile feedback.

In an embodiment, the location component 276 may be generally arrangedto receive positioning signals representative of positioning informationand provide location information (e.g., approximate physical location ofthe current mobile device 118-1) determined based at least partially onthe received positioning information. Moreover, the location component276 may include, among other elements, positioning circuit (e.g., aglobal positioning system (GPS) receiver, etc.) arranged to determinethe physical location of the mobile device 118-1. In some embodiments,the location component 276 may be further arranged to communicate and/orinterface with the communications component 258 in order to providegreater accuracy and/or faster determination of the locationinformation.

In an embodiment, the motion component 280 may be generally arranged todetect motion of the mobile device 118-1 in one or more axes. The motioncomponent 280 may include, among other elements, motion sensor (e.g.,accelerometer, etc.) to convert physical motions applied to or exertedon the mobile device 118-1 into motion information.

In an embodiment, the orientation component 264 may be generallyarranged to detect magnetic fields for measuring the strength ofmagnetic fields surrounding the mobile device 118-1. The orientationcomponent 264 may include, among other elements, magnetic sensor (e.g.,magnetometer, magnetoresistive permalloy sensor, etc.) to convertmagnetic field applied to or exerted on the mobile device 118-1 intoorientation information.

In an embodiment, the memory may include instruction informationarranged for execution by the processor component 254. In thatembodiment, the instruction information may be representative of atleast one operating system 288, one or more applications, which mayinclude, but is not limited to, remote application 290.

In an embodiment, the operating system 288 may include, withoutlimitation, mobile operating systems (e.g., APPLE®, IOS®, GOOGLE®ANDROID®, HP® WEBOS®, MICROSOFT® WINDOWS PHONE®, MICROSOFT® WINDOWS®,etc.) general arranged to manage hardware resources (e.g., one or morecomponents of the mobile device 118-1) and/or software resources (e.g.,one or more applications of the mobile device 118-1).

In an embodiment the remote application 290 may be generally arranged toprovide user input information to the media device 114-1 based onreceived touch input information and assisting a user of the controldevice 116-1 in determining the approximate physical location of thecontrol device 116-1. The remote application 290 may include, withoutlimitation, an acoustic information component 290-1, a distancecomponent 290-2, a direction component 290-3, a visual component 290-4,a feedback component 290-5, and/or an acoustic token component 290-6.

In an embodiment, the remote application 290 may be configured torequest to establish a direct connection 202 with the control device116-1, in response to receiving touch input information from the touchsensitive display component 282 indicating a request by the user toinitiate the location of the control device 116-1. For example, theremote application 290 may be configured to request to establish adirect wireless connection utilizing one or more Bluetooth standards,Wi-Fi standards (e.g., Wi-Fi Direct, Wi-Fi Peer-to Peer (P2P), etc.),and/or NFC standards, where no intermediary devices (e.g., media device114-1, platform server device 120, network devices (access points,routers, etc.), network 150, etc.) are present in the connection betweenthe mobile device 118-1 and the control device 116-1.

Alternatively, the remote application 290 may also be configured torequest to establish an indirect connection 204 with the control device116-1, in response to receiving touch input information to initiate thelocation of the control device 116-1. For example, the remoteapplication 290 may be configured to establish an indirect wirelessconnection utilizing one or more wireless communication standards (e.g.,cellular standards, Wi-Fi standards, etc.), where at least oneintermediary device (e.g., media device 114-1, platform server device120, network devices (access points, routers, etc.), network 150, etc.)is present in the connection between mobile device 118-1 and controldevice 116-1.

After establishing a direct or indirect connection with control device116-1, the remote application 290 may be configured to operate in atleast a first mode and/or a second mode. During the first mode, theremote application 290 may be configured to request the acousticinformation component 290-1, distance component 290-2, and/or thedirection component 290-3 to begin determining network and computationdelay information, acoustic delay information, distance information,and/or control device direction information, in response to receivingtouch input information to initiate the location of the control device116-1.

In an embodiment and during the first mode, the acoustic token component290-6 may be configured to generate and/or provide acoustic tokentransmission information in response to a request for acoustic tokentransmission information. The acoustic token transmission informationmay include, without limitation, waveform information (e.g., squarewave, sinusoidal wave, saw tooth wave, etc.), frequency information(e.g., 10 kHz, 15 kHz, etc.), phase shift information (e.g., 0 degrees,45 degrees, 90 degrees, etc.), power information (e.g., 500 mW, 1 W, 5W, 10 W, etc.), duration information (e.g., 250 ms, 500 ms, 1 second,etc.), or any combination thereof.

In an embodiment and during the first mode, the acoustic informationcomponent 290-1 may be configured to determine various approximatedelays between the control device 116-1 and the mobile device 118-1, inresponse to a request from the remote application 290 to determinenetwork and computation delay information and acoustic delayinformation. To determine the various approximate delays between themobile device 118-1 and the control device 116-1, in an embodiment, theacoustic information component 290-1 may be configured to determinenetwork and computation delay information and acoustic delay informationfor at least one acoustic sensor of the acoustic I/O component 262.

To determine the network and computation delay information and acousticdelay information during the first mode, in an embodiment, the acousticinformation component 290-1 may be configured to request an acoustictoken component 290-6 to generate acoustic token transmissioninformation. The acoustic information component 290-1 may be furtherconfigured to transmit the generated acoustic token transmissioninformation to the control device 116-1 via the established indirect ordirect wireless connection, receive acknowledgement information from thecontrol device 116-1 via the established indirect or direct wirelessconnection.

By way of example, the acoustic token component 290-6 may generateand/or provide acoustic token transmission information to the acousticinformation component 290-1, which may include, without limitation,waveform information (e.g., sinusoidal wave), frequency information(e.g., 10 kHz), phase shift information (e.g., 0 degrees), powerinformation (e.g., 2 W), and/or duration information (e.g., 1 second).The acoustic information component 290-1 may then transmit, via theestablished direct or indirect network connection, the generatedacoustic token transmission information to the acoustic informationcomponent 240-1 of the control device 116-1 in order for the controldevice 116-1 to generate, for example, a 10 kHz sinusoidal acoustic tonewith 0 degree phase, at 2 watts for 1 second. In response, the acousticinformation component 290-1 may receive control device acknowledgementinformation from the control device 116-1 via the same establisheddirect or indirect network connection.

Substantially simultaneous or contemporaneous (e.g., within 100microseconds, 10 microseconds, 1 microsecond, etc.) to the transmissionof the acoustic token transmission information during the first mode,the acoustic information component 290-1 may also be configured to resetand initiate a high resolution timer (e.g., within 1 microsecondresolution, 100 nanoseconds resolution, etc.). Upon receiving thecontrol device acknowledgement information from the control device 116-1via the direct or indirect wireless connection during the first mode,the acoustic information component 290-1 may store a value of the highresolution timer in memory 252. The stored value may be the round tripnetwork and computation delay, where half of the stored value may be anestimate of one way network and computation delay and may be representedas the network and computation delay information. It may be appreciatedthat the network and computation delay information may be indicative ofthe aggregate time required for the control device 116-1 to: (1) receivethe acoustic token transmission information, (2) process the acoustictoken transmission information, (3) generate an acoustic token signalbased on the acoustic token transmission information, and (4) start orbegin the emission of the acoustic token signal by the control device116-1 via the acoustic I/O component 216.

Substantially simultaneous or contemporaneous to the transmission of thegenerated acoustic token transmission information (e.g., within 100nanoseconds, etc.) or a short period of time before the transmission ofthe generated acoustic token transmission information (e.g., 500milliseconds before, etc.) during the first mode, the acousticinformation component 290-1 may also be configured to continuouslyreceive acoustic signals from the environment as acoustic inputinformation for one or more acoustic sensors 262-1-c of the acoustic I/Ocomponent 262, where the acoustic signals may include, among otheracoustic signals, the acoustic token signal generated and emitted by thecontrol device 116-1. It may be appreciated the acoustic informationcomponent 290-1 may buffer or store at least a portion of the acousticsignal (e.g., 250 milliseconds, 500 milliseconds, etc.) andcorresponding values of the high resolution timer as acoustic sensorinformation in memory 252 for one or more acoustic sensors 262-1-cutilizing the acoustic I/O component 262.

Upon buffering or storing the acoustic sensor information including theacoustic token signal generated in accordance with the acoustic tokentransmission information for one or more acoustic sensors 262-1-c duringthe first mode, the acoustic information component 290-1 may detect anddetermine the time of when the acoustic token signal was first receivedby, for example, correlating and comparing the acoustic sensorinformation with the generated acoustic token transmission information,and determining the time based on the corresponding values of the highresolution timer. For each of the one or more acoustic sensors 262-1-c,a value associated with the high resolution timer may be stored based onthe detection and determination of the time of when the acoustic tokensignal was first received by the mobile device 118-1. It may beappreciated that due to physical arrangement of one or more acousticsensors 262-1-c in the mobile device 118-1 and the actual location ofthe control device 116-1 emitting the acoustic token signal, some of theacoustic sensors of the one or more acoustic sensors 262-1-c may receivethe acoustic token signal at a different time than others acousticsensors. Thus, each value may be indicative of the time when theacoustic token signal was first received by a particular acoustic sensorof one or more acoustic sensors 262-1-c, which may be represented asaggregate acoustic delay information.

In an embodiment and during the first mode, the acoustic informationcomponent 290-1 may be further configured to determine the acousticdelay information for each of the one or more acoustic sensors 262-1-c,based on the difference between the aggregate acoustic delay informationfor each of the one or more acoustic sensors 262-1-c and the network andcomputation delay information. In an embodiment and during the firstmode, the acoustic information component 290-1 may be configured todetermine sound speed information representative of the speed of soundbased on one or more environmental factors. The one or moreenvironmental factors may include a temperature, a pressure (e.g.,altitude, etc.), humidity, or any combination thereof near the proximityof the mobile device 118-1. It may be appreciated the environmentalfactors may be determined by the mobile device 118-1 by interfacing withreadily available online weather datastores based on locationinformation provided by the location component 276 of the mobile device118-1.

In an embodiment and during the first mode, based on the acoustic delayinformation for at least one acoustic sensor of the one or more acousticsensors 262-1-c, and the sound speed information, the distance component290-2 may be configured to calculate an approximate distance between themobile device 118-1 and the control device 116-1, which may berepresented by distance information. Additionally or alternatively,based on an average of the acoustic delay information for a plurality ofacoustic sensors 262-1-c, and the sound speed information, the distancecomponent 290-2 may be configured to calculate an approximate distancebetween the mobile device 118-1 and the control device 116-1, which mayalso be represented by the distance information.

In addition to or alternative to the determination of distance betweenthe mobile device 118-1 and the control device 116-1, in an embodimentand during the first mode, the direction component 290-3 may beconfigured to determine direction information by comparing acousticdelay information between at least two acoustic sensors 262-1-c todetermine paired acoustic delay information. Additionally oralternatively, the direction component 290-3 may be configured toutilize time delay estimation techniques to determine paired acousticdelay information.

By way of example, the direction component 290-3 may be configured tocompare the stored acoustic signal information for pairs of acousticsensors 262-1-c to determine paired acoustic delay information utilizingone or more time delay estimation algorithms, which may include, withoutlimitation, cross correlation algorithm, generalized cross correlationalgorithm (GCC), phase transform algorithm (PHAT), and the like. It maybe appreciated that the one or more time delay estimation algorithms maybe further configured to determine paired acoustic delay informationutilizing substantially the acoustic token signal for acoustic signalinformation of each acoustic sensor.

In an embodiment and during the first mode, the direction component290-3 may be further configured with acoustic sensor arrangementinformation representative of one or more algorithms for determiningcontrol device direction information and physical distances and anglesbetween the acoustic sensors 262-1-c. For example, the directioncomponent 290-3 may be configured to determine the control devicedirection information based on the acoustic sensor arrangementinformation, the sound speed information, and one or more paired timedelay information.

It may be appreciated that at least one technical advantage that may berealized in using a specific acoustic token signal generated inaccordance with acoustic token transmission information, is that thedetermination of distance information and control device directioninformation is possible even in noisy environments. Additionally, byhaving the control device 116-1 emit a distinct acoustic token signal, auser may also easily identify and locate the control device 116-1 basedon hearing in conjunction with the information displayed in the controldevice location UI view 450 on a mobile device 118-1.

As previously discussed above, in addition to the first mode, the remoteapplication 290 may also operate in the second mode, which may be inaddition to or alternative to the first mode. During the second mode,the remote application 290 may be configured to request the controldevice 116-1 to determine network and computation delay information,acoustic delay information, distance information, and/or mobile devicedirection information, in response to receiving touch input informationto initiate the location of the control device 116-1.

In an embodiment and during the second mode, the acoustic tokencomponent 290-6 may be configured to receive acoustic token transmissioninformation from the control device 116-1. In response to receivingacoustic token transmission information from the control device 116-1,the acoustic token component 290-6 may provide acoustic outputinformation to the acoustic I/O component 262 in order to generate anacoustic token signal in accordance with the received acoustic tokentransmission information. Thus, the acoustic output information may begenerated by the acoustic token component 290-6 based on the receivedacoustic token transmission information. Substantially simultaneous orcontemporaneous (e.g., within 100 microseconds, 10 microseconds, etc.)to the providing of the acoustic output information to the acoustic I/Ocomponent 262 during the second mode, the acoustic token component 290-6may also be configured to provide mobile device acknowledgementinformation via the established direct and/or indirect wirelessconnection to the control device 116-1.

In an embodiment and during the second mode, the remote application 290may be configured to receive the network and computation delayinformation, acoustic delay information, distance information, and/orcontrol device direction information from the control device 116-1,which may be subsequently utilized by the visual component 290-4 forvisual presentation and/or feedback component 290-5 for providing hapticand/or auditory feedback. Additionally or alternatively, the remoteapplication 290 may also be configured to translate the received mobiledevice direction information, generated from the perspective of thecontrol device 116-1 to control device direction information by, forexample, shifting the received mobile device direction information by180 degrees.

In an embodiment, the visual component 290-4 may be configured tovisually present one or more UI views including one or more UI elementsto enable a user to initiate in the determination of the physicallocation of a lost control device 116-1. For example, the visualcomponent 290-4 may be configured to visually present control devicelocation initiation UI view 400 of FIG. 4A on the display device of thetouch sensitive display component 282 and receive touch inputinformation from the touch sensitive display component 282 to initiatethe location of the control device 116-1.

Additionally or alternatively, the visual component 290-4 may also beconfigured to visually present and update, in substantially real-timecontrol device location UI view 450. For example, the visual component290-4 may be configured to visually present, in substantially real-time,one or more UI elements of the control device location UI view 450 basedon location information received from location component 276, the motioninformation received from acceleration component 280, orientationinformation from the orientation component 264, distance informationgenerated by the distance component 290-2 or distance component 240-2,and/or control device direction information generated by the directioncomponent 290-3 or translated from mobile device direction informationgenerated by direction component 240-3.

In an embodiment, the feedback component 290-5, may be configured toprovide auditory and/or haptic feedback to the user. In an embodiment,the feedback component 290-5 may be configured to generate feedbackinformation based on the distance information and/or directioninformation. The feedback information may include, without limitation,pulse waveform information (e.g., square wave, sinusoidal wave, sawtooth wave, etc.), pulse frequency information (e.g., 5 kHz, 10 kHz, 15kHz for each pulse, etc.), pulse power information (e.g., 500 mW, 1 W, 5W, 10 W, etc.), pulse duration information (e.g., 250 ms, 500 ms, 1second duration for each pulse etc.), and/or pulse gap information(e.g., 500 ms, 1 second, 2 seconds gap between each pulse, etc.).

In an embodiment, the feedback component 290-5 may generate pulsefrequency information of the feedback information as a function ofcontrol device direction information, where the generated pulsefrequency information may be higher (e.g., 8 kHz), when the directioninformation indicates that the approximate location of the acoustictoken signal and accordingly the control device 116-1 may be directly infront of the mobile device 118-1. Similarly, the frequency may be lower(e.g., 2 kHz), when the control device direction information indicatesthat the approximate location of the acoustic token signal andaccordingly the control device 116-1 may be directly behind of themobile device 118-1.

Additionally or alternatively, the feedback component 290-5 may generatethe pulse gap information and/or the pulse duration information as afunction of distance information, where the generated pulse gapinformation may be longer (e.g., every 2 second) and pulse durationinformation may be shorter (e.g., 500 ms), when the distance informationindicates that the approximate location of the acoustic token signal andaccordingly the control device 116-1 is further away from the mobiledevice 118-1. Similarly, the pulse gap information may be shorter (e.g.,every 250 ms) and pulse duration information may be longer (e.g., 1second), when the distance information indicates that the location ofthe acoustic token signal and accordingly the control device 116-1 maybe very close to the mobile device 118-1.

In an embodiment, the feedback component 290-5 may be configured toconvert the generated feedback information to acoustic outputinformation and/or haptic output information, and provide the acousticoutput information and/or the haptic output information to the acousticI/O component 262 and/or haptic component 272, respectively, in order toemit sound and/or mechanical vibrations in accordance with the generatedfeedback information.

In a non-limiting example, when the mobile device 118-1 determines thata control device 116-1 is directly in front and is also very close tothe mobile device 118-1, the mobile device 118-1 may emit sound with asinusoidal wave having a frequency of the 8 kHz for duration of 1second, and repeating after 250 ms have elapsed. Additionally oralternatively, mobile device 118-1 may also emit mechanical vibrationswith a sinusoidal wave having a frequency of the 8 kHz for duration of 1second, and repeating after 250 ms have elapsed.

In another non-limiting example, when the mobile device 118-1 determinesthat the control device 116-1 is behind and distant to the mobile device118-1, the mobile device 118-1 may emit sound with a sinusoidal wavehaving a frequency of the 2 kHz for duration of 500 ms, and repeatingafter 2 seconds have elapsed. Additionally or alternatively, mobiledevice 118-1 may also emit mechanical vibrations with a sinusoidal wavehaving a frequency of 2 kHz for duration of 500 ms, and repeating after2 seconds have elapsed.

In an embodiment, the control device 116-1 may be generally arranged tocommunicate user input information to, for example, the media device114-1 and may include, but is not limited to, memory 212, processorcomponent 214, communications component 210, acoustic input/outputcomponent 216, input component 218, where each of the components andmemory 212 may be operatively connected via interconnect 230.

In an embodiment, the processor component 214 may be generally arrangedto execute instruction information including one or more instructions.In an embodiment, the processor component 214 may be an embeddedprocessor component or system-on-chip (SoC) processor component whichmay comprise, among other elements, processor circuit, which mayinclude, but is not limited to, at least one set of electronic circuitsarranged to execute one or more instructions. Examples of processorcomponents 214 may include, but is not limited to, QUALCOMM®SNAPDRAGON®, TEXAS INSTRUMENTS® OMAP®, or any other type of embeddedprocessor(s) and/or mobile processor(s) arranged to execute theinstruction information including the one or more instructions stored inmemory 212.

In an embodiment, the memory 212 may be generally arranged to storeinformation in volatile and/or nonvolatile memory, which may include,but is not limited to, one or more example memories discussed above withrespect to memory 252 of mobile device 118-1.

In an embodiment, the communications component 210 may be generallyarranged to enable the control device 116-1 to communicate, directlyand/or indirectly, with media device 114-1, mobile device 118-1,platform server device 120, and/or content source systems 130-b. Thecommunications component 210 may include, among other elements, radiofrequency circuit(s) configured for encoding and/or decoding informationand receiving and/or transmitting the encoded information as radiosignals in frequencies consistent with the one or more wirelesscommunications standards (e.g., Wireless IEEE 802.11, Bluetoothstandards, Near Field Communications (NFC) standards, etc.).Additionally, the communications component 210 may further include,among other elements, infrared emitter circuit(s) to communicatedirectly and/or indirectly with previously discussed devices andsystems.

In an embodiment, the acoustic I/O component 216 may be generallyarranged for converting sound, vibrations, or any other mechanical wavesreceived into digital or electronic signals representative of acousticinput information utilizing one or more acoustic sensors 216-1-e (e.g.,microphones, etc.), which may be located or positioned on or within thehousing, case, or enclosure of the control device 116-1 to form anmicrophone array. The I/O component 216 may be configured to provideacoustic input information for each of the one or more acoustic sensors216-1-e. Additionally, the acoustic I/O component 216 may be furtherarranged to receive acoustic output information and convert the receivedacoustic output information into electronic signals to output sound,vibrations, or any other mechanical waves utilizing the one or moreelectroacoustic transducers 216-2-f (e.g., speakers, etc.).

In an embodiment, the input component 218 may be generally arranged toreceive user input(s) via a keypad (not shown) and provide the userinput information representative of user inputs to the media device114-1. For example, the input component 218 may receive user input(s)such as key presses on the keypad, generate user input information basedon the key presses, and transmit user input information to the mediadevice 114-1 via communications component 210.

In an embodiment, the memory 212 may include instruction informationarranged for execution by the processor component 214. In thatembodiment, the instruction information may optionally include, amongother instruction information, an embedded operating system 242, and oneor more applications, which may include, but is not limited to, controlapplication 240. The optional embedded operating system 242 may includeoperating systems general arranged to manage hardware resources (e.g.,one or more components of the control device 116-1) and/or softwareresources (e.g., one or more applications of the control device 116-1).

In an embodiment, the control application 240 may be generally arrangedto provide input information to the media device 114-1 based on receiveduser input information. The control application 240 may include, withoutlimitation, acoustic information component 240-1, distance component240-2, direction component 240-2, and/or acoustic token component 240-3.In an embodiment, the control application 240 may be configured toestablish a direct or indirect connection with the mobile device 118-1,the control application 240 may be configured to receive a request fromthe mobile device 118-1 to establish a direct or indirect connection aspreviously discussed with respect to the mobile device 118-1.

After establishing a direct or indirect connection with the mobiledevice 118-1, the control application 240 may be configured to operatein at least a first mode corresponding to the first mode of the remoteapplication 290 and/or a second mode corresponding to the second mode ofthe remote application 290.

During the first mode, the control application 240 and in particular,the acoustic token component 240-4 may be configured to receive acoustictoken transmission information from the mobile device 118-1. In responseto receiving the acoustic token transmission information from the mobiledevice 118-1, the acoustic token component 240-3 may provide acousticoutput information to the acoustic I/O component 216 in order togenerate an acoustic signal in accordance with the received acoustictoken transmission information, where the acoustic output informationmay be generated by the acoustic token component 240-4 based on thereceived acoustic token transmission information. Substantiallysimultaneous or contemporaneous (e.g., within 100 microseconds, 10microseconds, 1 microsecond, etc.) to the providing of acoustic outputinformation to the acoustic I/O component 216, the acoustic tokencomponent 240-4 may also be configured to provide control deviceacknowledgement information via the established direct and/or indirectwireless connection to the mobile device 118-1.

During the second mode, the control application 240 may be configured toreceive a request from the mobile device 118-1 to begin thedetermination of network and computation delay information, acousticdelay information, distance information, and/or mobile device directioninformation. In an embodiment and during the second mode, the controlapplication 240 may request the acoustic information component 240-1 todetermine network and computation delay information and acoustic delayinformation.

In an embodiment and during the second mode, the acoustic informationcomponent 240-1 may be configured to determine various approximatedelays between the control device 116-1 and the mobile device 118-1, inresponse to a request from the control application 240 to determinenetwork and computation delay information and acoustic delayinformation.

To determine the various approximate delays between mobile device 118-1and the control device 116-1 during the second mode, in an embodiment,the acoustic information component 290-1 may be configured to determinenetwork and computation delay information and acoustic delay informationfor at least one acoustic sensor of the acoustic input/output (I/O)component 216.

To determine the network and computation delay information and acousticdelay information during the second mode, in an embodiment, the acousticinformation component 240-1 may be configured to request an acoustictoken component 240-4 to generate acoustic token transmissioninformation. The acoustic information component 240-1 may be furtherconfigured to transmit the generated acoustic token transmissioninformation to the mobile device 118-1 via the established indirect ordirect wireless connection, receive mobile device acknowledgementinformation from the mobile device 118-1 via the established indirect ordirect wireless connection.

In an embodiment and during the second mode, the acoustic tokencomponent 240-4 may be configured to generate and/or provide acoustictoken transmission information in response to a request for acoustictoken transmission information. The acoustic token transmissioninformation may contain information similar to those previouslydiscussed with respect to mobile device 118-1.

Substantially simultaneous or contemporaneous (e.g., within 100microseconds, 10 microseconds, 1 microsecond, etc.) to the transmissionof the acoustic token transmission information to the mobile device118-1 during the second mode, the acoustic information component 240-1may also be configured to reset and initiate a high resolution timer(e.g., within 1 microsecond resolution, 100 nanoseconds resolution,etc.). Upon receiving the mobile device acknowledgement information fromthe mobile device 118-1 via the direct or indirect wireless connectionduring the second mode, the acoustic information component 240-1 maystore a value of the high resolution timer in memory 252. The storedvalue may be representative of the round trip network and computationdelay, where half of the stored value may be an estimate of one waynetwork and computation delay and may be represented as the network andcomputation delay information. It may be appreciated that the networkand computation delay information may be indicative of the aggregatetime required for the mobile device 118-1 to: (1) receive the acoustictoken transmission information, (2) process the acoustic tokentransmission information, (3) generate an acoustic token signal based onthe acoustic token transmission information, and (4) start thetransmission of the acoustic token signal by the mobile device 118-1 viathe acoustic I/O component 262.

Substantially simultaneous or contemporaneous to the transmission of thegenerated acoustic token transmission information (e.g., within 100nanoseconds, etc.) or a short period of time before the transmission ofthe generated acoustic token transmission information (e.g., 500millisecond before, etc.), the acoustic information component 240-1 mayalso be configured to continuously receive and store acoustic signalsfrom the environment as acoustic input information for one or moreacoustic sensors 216-1-e of the acoustic I/O component 216, where theacoustic signals may include, among other acoustic signals, the acoustictoken signal generated and emitted by mobile device 118-1. It may beappreciated the acoustic information component 240-1 may receive andbuffer or store at least a portion of the acoustic signals (e.g., 250milliseconds, 500 milliseconds, etc.) and corresponding values of thehigh resolution timer as acoustic sensor information in memory 212 forone or more acoustic sensors 216-1-e utilizing the acoustic I/Ocomponent 216.

Upon buffering or storing the acoustic sensor information including theacoustic token signal generated in accordance with the acoustic tokentransmission information for one or more acoustic sensors 216-1-e duringthe second mode, the acoustic information component 290-1 may detect anddetermine the time of when the acoustic token signal was first receivedby, for example, correlating and comparing the acoustic sensorinformation with the generated acoustic token transmission information,and determining the time based on the corresponding values of the highresolution timer. For each of the one or more acoustic sensors 216-1-e,a value associated with the high resolution timer may be stored based onthe detection and determination of the time of when the acoustic tokensignal was first received by the control device 116-1. It may beappreciated that due to physical arrangement of one or more acousticsensors 216-1-e in the control device 116-1 and the actual location ofthe mobile device 118-1 emitting the acoustic token signal, some of theacoustic sensors of the one or more acoustic sensors 216-1-e may receivethe acoustic token signal at a different time than others acousticsensors. Thus, each value may be indicative of the time when theacoustic token signal was first received by a particular acoustic sensorof one or more acoustic sensors 216-1-e, which may be represented asaggregate acoustic delay information.

In an embodiment and during the second mode, the acoustic informationcomponent 240-1 may be further configured to determine the acousticdelay information for each of the one or more acoustic sensors 216-1-e,based on the difference between the aggregate acoustic delay informationfor each of the one or more acoustic sensors 216-1-e and the network andcomputation delay information. In an embodiment, the acousticinformation component 240-1 may be configured to determine sound speedinformation representative of the speed of sound based on one or moreenvironmental factors. The one or more environmental factors may includea temperature, a pressure (e.g., altitude, etc.), humidity or anycombination thereof near the proximity of the control device 116-1. Itmay be appreciated the environmental factors may be determined by thecontrol device 116-1 by interfacing with readily available onlineweather datastores based on geographic information previously discussedfor the user of the media device 114-1. Additionally or alternatively,the one or more environmental factors may also be preprogrammed.

In an embodiment and during the second mode, based on the acoustic delayinformation for at least one acoustic sensor of the one or more acousticsensors 216-1-e, and the sound speed information, the distance component240-2 may be configured to calculate an approximate distance between themobile device 118-1 and the control device 116-1, which may berepresented as distance information. Additionally or alternatively, thedistance component 240-2 may be configured to calculate an approximatedistance between the mobile device 118-1 and the control device 116-1based on an average of the acoustic delay information for a plurality ofacoustic sensors 216-1-e and the sound speed information.

In addition to or alternative to the determination of distance betweenthe mobile device 118-1 and the control device 116-1 by the controldevice 116-1 during the second mode, in an embodiment, the directioncomponent 240-3 may be configured to determine direction information bycomparing acoustic delay information between at least two acousticsensors 216-1-e to determine paired acoustic delay information.Additionally or alternatively, the direction component 240-3 may beconfigured to utilize time delay estimation techniques for determiningpaired acoustic delay information as previously discussed with respectto direction component 290-3.

In an embodiment and during the second mode, the direction component240-3 may be further configured with acoustic sensor arrangementinformation representative of one or more algorithms for determiningdirection information and physical distances and angles between theacoustic sensors 216-1-e, and determine the mobile device directioninformation based on the acoustic sensor arrangement information, thesound speed information, and one or more paired acoustic delayinformation.

After the direction component 240-3 determines the mobile devicedirection information during the second mode, the control application240 may be configured to transmit acoustic delay information, distanceinformation, and/or mobile device direction information to the mobiledevice 118-1 for further processing, visual presentation, and/oracoustic and/or haptic feedback.

FIG. 3A illustrates an embodiment of mobile device 118-1 and controldevice 116-1 operating in the first mode. In an embodiment illustratedin FIG. 3A, the mobile device 118-1 may include at least two acousticsensors 262-1-1 and 262-1-2 physically arranged in the top portion ofthe mobile device 118-1 and bottom portion of the mobile device 118-1,respectively. The mobile device 118-1 may transmit acoustic tokentransmission information to the control device 116-1 via the establishedindirect or direct wireless connection as illustrated by element 312. Inresponse, the control device 116-1 may emit acoustic token signal, whichmay be received by the mobile device 118-1 as illustrated by element314. The control device 116-1 may also transmit control deviceacknowledgement information via the established indirect or directwireless connection, which may be received by the mobile device 118-1 asillustrated by element 316.

FIG. 3B illustrates an embodiment of mobile device 118-1 and controldevice 116-1 operating in the second mode. In an embodiment illustratedin FIG. 3B, the control device 116-1 may include at least two acousticsensors 216-1-1 and 216-1-2 physically arranged in the top portion ofthe control device 116-1 and bottom portion of the control device 116-1,respectively. The mobile device 118-1 may transmit a request to thecontrol device 116-1 to determine network and computation delayinformation, mobile device delay information, distance information,and/or mobile device direction information, via the established indirector direct wireless connection, which may be received by the controldevice 116-1 as illustrated by element 352. In response, the controldevice 116-1 may transmit acoustic token transmission information to themobile device 116-1 via the established indirect or direct wirelessconnection, which may be received by the mobile device 118-1 asillustrated by element 354. In response, the mobile device 118-1 mayemit acoustic token signal, which may be received by the control device116-1 as illustrated by element 356. The mobile device 118-1 may alsotransmit mobile device acknowledgement information via the establishedindirect or direct wireless connection, which may be received by thecontrol device 116-1 as illustrated by element 358. The control device116-1 may then transmit network and computation delay information,acoustic delay information, distance information, and/or mobile devicedirection information to the mobile device 118-1, which may be receivedby the mobile device 118-1 as illustrated by element 360.

FIG. 4A illustrates a control device location initiation UI view 400 forvisual presentation on a mobile device 118-1. As illustrated in FIG. 4A,the control device location initiation UI view 400 may include a locatecontrol device UI element 412 and a back UI element 414. A user mayselect the control device UI element 412, for example, by touching theportion defined by the control device UI element 412 on the displaydevice of the touch sensitive display component 282. This in turn mayprovide touch input information to the remote application 290 andinitiate the process to establish a direct or indirect connection withcontrol device 116-1 and determining network and computation delayinformation, acoustic delay information, distance information, and/orcontrol device direction information utilizing the first mode and/orsecond mode. The user may select the back UI element 414, to return tousing the remote control functions of the remote application 290.

FIG. 4B illustrates a control device location UI view 450, which may bevisually presented on the mobile device 118-1 after user selects thelocate control device UI element 412. As illustrated in FIG. 4B, thecontrol device location UI view 450 may include a text based distance UIelement 462, a text based direction UI element 464, a graphical distanceand direction UI element 474, a mobile device direction UI element 468,a path UI element 472, a approximate location UI element 466, and a backUI element 470. The user may select the back UI element 470, to returnto the control device location initiation UI view 400.

In an embodiment, the text based distance UI element 462 may be visuallypresented and continuously updated in substantially real-time toindicate the current distance between the mobile device 118-1 andcontrol device 116-1 based on the determined distance information. Itmay be appreciated that the visually presented distance information mayvary by font, size, color, units and/or the like.

The text based direction UI element 464 may be visually presented andcontinuously updated in substantially real-time to indicate the currentapproximate direction with respect to the orientation of the mobiledevice 118-1, based on the determined control device directioninformation. It may be appreciated that the visually presented distanceinformation may vary by font, size, color, and may visually present thegeneral direction such as North (N), South (S), East (E), West (W), orcombinations thereof, of the control device 116-1 with respect to themobile device 118-1. In an embodiment, the mobile device direction UIelement 468 may be visually presented and continuously updated insubstantially real-time to indicate the current heading of the mobiledevice 118-1. It may be appreciated that the visually presented currentheading, which may be an arrow pointing to the current heading of themobile device 118-1, may vary by size, color, shape, and/or the like.This heading may be synchronized or locked to the orientation of themobile device 118-1. Alternatively, the heading may be determined basedon orientation information received from the orientation component 264.

In an embodiment, the graphical distance and direction UI element 474may be visually presented and continuously updated in substantiallyreal-time to indicate the current distance and direction of the controldevice 116-1 with respect to the current heading of the mobile device118-1 based on the control device direction information, distanceinformation, and/or orientation information. It may be appreciated thatthe visually presented current distance and direction of the controldevice 116-1, which may be an arrow pointing to an approximate locationof the control device 116-1, may vary by size, color, shape, and/or thelike.

By way of example, the length of the arrow of the distance and directionUI element 474 may be a function of the distance information, so thatthe farther the control device 116-1 is from the mobile device 118-1,the longer the arrow up to a maximum length. Similarly, the closer thecontrol device 116-1 is from the mobile device 118-1, the shorter thearrow up to a minimum length.

In an embodiment, the arrow of the graphical distance and direction UIelement 474 may be visually presented and continuously updated insubstantially real-time to pivot with respect to the mobile devicedirection UI element 468 based on the control device directioninformation and/or orientation information.

In an embodiment, the path UI element 472 may be visually presented andcontinuously updated in substantially real-time to indicate the path oftravel of the mobile device 118-1 based on the motion informationreceived from motion component 280 and location information receivedfrom location component 276. It may be appreciated that the visuallypresented path may assist users in tracking the location of the controldevice 116-1 in relation to the approximate physical location(s) orpaths the user has already taken to find the control device 116-1 withthe mobile device 118-1.

In an embodiment, the approximate location UI element 466 may bevisually presented and continuously updated in substantially real-timeto indicate the approximate location of the control device 116-1 basedon the distance information, control device direction information andorientation information. It may be appreciated that the visuallypresented approximate location of the control device 116-1, which may bea circle, may vary by size, color, and/or the like.

Provided herein are some of the processing operations that may beperformed by one or more example embodiments. Although some of theprocessing operations may appear to be performed sequentially, it may beappreciated that the processing operations may not be limited to theorder as illustrated and/or described. Additionally, some of theprocessing operations may even occur substantially simultaneously orcontemporaneously with respect to other processing operations.

FIG. 5A illustrates processing operations that may be performed by theprocessor component 254 of a mobile device and processor component 214of a control device with respect to the first mode.

With respect to a mobile device, at step 510, mobile device may receiverequest to locate control device. For example, mobile device 118-1 mayreceive request from user to locate control device 116-1. At step 512,mobile device may establish connection with control device 512. Forexample, mobile device 118-1 may request to establish a direct orindirect wireless connection with the control device 116-1. At step 514,the mobile device may generate acoustic token transmission information.For example, mobile device 118-1 may generate acoustic tokentransmission information, which may include, without limitation,waveform information, frequency information, phase shift information,power information, and/or duration information. At step 516, mobiledevice may transmit acoustic token information and initiate timer. Forexample, mobile device 118-1 may transmit acoustic token information tothe control device 116-1 and substantially contemporaneous orsimultaneous to the transmission, the mobile device 118-1 may alsoinitialize or reset a high resolution timer.

At step 518, the mobile device may store acoustic sensor information.For example, mobile device 118-1 may store or buffer at least a portionof acoustic input information received from control device 116-1 viaacoustic I/O component 262 and associated values of the high resolutiontimer as acoustic sensor information for each of the one or moreacoustic sensors 262-1-c. At step 520, the mobile device may determineaggregate acoustic delay information. For example, mobile device 118-1may determine the aggregate acoustic delay information by correlatingand comparing the acoustic sensor information with the generatedacoustic token transmission information. At step 522, the mobile devicemay receive control device acknowledgement information and store timer.For example, the mobile device 118-1 may receive control deviceacknowledgement information transmitted from control device 116-1 andsubstantially contemporaneous or simultaneous to the receipt, the mobiledevice 118-1 may store the value of the high resolution timer.

At step 524, mobile device may determine acoustic delay information. Forexample, the mobile device 118-1 may determine acoustic delayinformation for each of the one or more acoustic sensors 262-1-c basedon the stored value of the high resolution timer and aggregate acousticdelay information for each of the one or more acoustic sensors 262-1-c.At step 526, mobile device may determine distance information. Forexample, the mobile device 118-1 may determine distance informationbased at least partially on acoustic delay information for at least oneacoustic sensor of the one or more acoustic sensors 262-1-c and/or soundspeed information.

At step 526, mobile device may determine direction information. Forexample, the mobile device 118-1 may determine control device directioninformation based at least partially on the acoustic sensor arrangementinformation, the sound speed information, and/or one or more paired timedelay information. At step 530, mobile device may update views. Forexample, mobile device 118-1 may update, in substantially real-time, thecontrol device location UI view 450 and one or more UI elements in thecontrol device location UI view 450. At step 532, mobile device mayprovide feedback. For example, mobile device 118-1 may provide hapticfeedback based at least partially on the distance information and/ordirection information.

With respect to a control device, at step 534, the control device mayestablish connection with mobile device. For example, the control device116-1 may establish a direct or indirect connection with mobile device118-1, in response to the request to establish a direct or indirectwireless connection by the mobile device 118-1 at step 512. At step 536,the control device may receive acoustic token transmission information.For example, control device 116-1 may receive acoustic tokentransmission information transmitted by mobile device 118-1 at step 516.At step 538, the control device may generate acoustic token signal. Forexample, control device 116-1 may generate and emit acoustic tokensignal based on the acoustic token transmission information. At step540, control device may transmit control device acknowledgmentinformation. For example, control device 116-1 may transmit controldevice acknowledgment information to the mobile device 118-1substantially contemporaneous or simultaneous to the generation andemission of the acoustic token signal.

FIG. 5B illustrates processing operations that may be performed by theprocessor component 254 of a mobile device and processor component 214of a control device with respect to the second mode.

With respect to a mobile device, at step 510, mobile device may receiverequest to locate control device. For example, mobile device 118-1 mayreceive request from a user to locate control device 116-1. At step 512,mobile device may establish connection with control device 512. Forexample, mobile device 118-1 may request to establish a direct orindirect wireless connection with the control device 116-1. At step 550,the mobile device may transmit request to determine information. Forexample, the mobile device 118-1 may transmit request to control device116-1 to request the control device 116-1 to determine network andcomputation delay information, acoustic delay information, distanceinformation, and/or mobile device direction information. At step 552,the mobile device may receive acoustic token transmission information.For example, mobile device 118-1 may receive acoustic token transmissioninformation transmitted by control device 116-1 at step 562. At step554, the mobile device may generate and emit acoustic token signal. Forexample, mobile device 118-1 may generate and emit acoustic token signalbased on the acoustic token transmission information.

At step 556, the mobile device may transmit mobile deviceacknowledgement information. For example, the mobile device 118-1 maytransmit the mobile device acknowledgment information to the controldevice 116-1. At step 558, the mobile device may receive distance and/ordirection information. For example, the mobile device 118-1 may receivedistance information and/or mobile device direction information from thecontrol device 116-1 transmitted at step 578 and translate the mobiledevice direction information to control device direction information. Atstep 530, mobile device may update views. For example, mobile device118-1 may update in substantially real-time the control device locationUI view 450 and one or more UI elements in the control device locationUI view 450. At step 532, mobile device may provide feedback. Forexample, mobile device 118-1 may provide haptic feedback based at leastpartially on the distance information and/or direction information.

With respect to a control device, at step 534, control device mayestablish connection with mobile device. For example, control device116-1 may establish a direct or indirect wireless connection with themobile device 118-1, in response to the request to establish a direct orindirect wireless connection by the mobile device 118-1 at step 512. Atstep 560, the control device may receive request to determineinformation. For example, control device 116-1 may receive request frommobile device 118-1 to determine network and computation delayinformation, acoustic delay information, distance information, and/ormobile device direction information. At step 562, the control device maygenerate acoustic token transmission information. For example, controldevice 116-1 may generate acoustic token transmission information, whichmay include, without limitation, waveform information, frequencyinformation, phase shift information, power information, and/or durationinformation. At step 564, control device may transmit acoustic tokeninformation and initiate timer. For example, control device 116-1 maytransmit acoustic token information to the mobile device 118-1 andsubstantially contemporaneous or simultaneous to the transmission, thecontrol device 116-1 may also initialize or reset a high resolutiontimer.

At step 566, the control device may store acoustic sensor information.For example, control device 116-1 may store or buffer at least a portionof acoustic input information received from mobile device 118-1 viaacoustic I/O component 216 and associated values of the high resolutiontimer as acoustic sensor information for each of the one or moreacoustic sensors 216-1-e. At step 568, the control device may determineaggregate acoustic delay information. For example, control device 116-1may determine the aggregate acoustic delay information by correlatingand comparing the acoustic sensor information with the generatedacoustic token transmission information. At step 570, the control devicemay receive mobile device acknowledgement information and store timer.For example, the control device 116-1 may receive mobile deviceacknowledgement information from mobile device 118-1 and substantiallycontemporaneous or simultaneous to the receipt, the control device 116-1may store the value of the high resolution timer.

At step 572, control device may determine acoustic delay information.For example, the control device 116-1 may determine acoustic delayinformation for each of the one or more acoustic sensors 216-1-e basedon the stored value of the high resolution timer and aggregate acousticdelay information for each of the one or more acoustic sensors 216-1-e.At step 574, control device may determine distance information. Forexample, the control device 116-1 may determine distance informationbased at least partially on acoustic delay information for at least oneacoustic sensor of the one or more acoustic sensors 216-1-e and/or soundspeed information.

At step 576, control device may determine direction information. Forexample, the control device 116-1 may determine direction informationbased at least partially on acoustic sensor arrangement information, thesound speed information, and/or one or more paired time delayinformation. At step 578, control device may transmit distance and/ordirection information. For example, control device 116-1 may transmitdistance information and mobile device direction information to themobile device 118-1.

It may be appreciated that by repeatedly performing at least steps514-532 and steps 536-540 of FIG. 5A and at least steps 550-532 and560-578 of FIG. 5B in substantially real-time, a user of the controldevice location system 100 may quickly and easily locate the controldevice 116-1 with the assistance of at least the mobile device and/orcontrol device of the control device location system 100. It may befurther appreciated that while some of the above example embodimentsillustrated in FIGS. 1, 2, 3A-B, 4A-B, and/or 5A-B may have beendescribed in substantial detail with respect to mobile device 118-1 andcontrol device 116-1, the example embodiments are not limited to thosecontexts and/or devices. As such, the example embodiments may similarlyimplemented in some or all mobile devices 118-a and/or control devices116-a.

Example Computer System

Various embodiments and components therein can be implemented, forexample, using one or more well-known computer systems, such as, forexample, platform server device 120, client devices 110-a, mobiledevices 118-a, display devices 112-a, and/or server devices 132-b shownin FIG. 1. Computer system 600 can be any well-known computer capable ofperforming the functions described herein. Computer system 600 may alsobe internal or external to a display device (e.g., display device 112-1,112-2, etc.).

Computer system 600 includes one or more processors (also called centralprocessing units, or CPUs), such as a processor 604. Processor 604 isconnected to a communication infrastructure or bus 606.

One or more processors 604 may each be a graphics processing unit (GPU).In an embodiment, a GPU is a processor that is a specialized electroniccircuit designed to process mathematically intensive applications. TheGPU may have a parallel structure that is efficient for parallelprocessing of large blocks of data, such as mathematically intensivedata common to computer graphics applications, images, videos, etc.

Computer system 600 also includes user input/output device(s) 603, suchas monitors, keyboards, pointing devices, etc., that communicate withcommunication infrastructure 606 through user input/output interface(s)602.

Computer system 600 also includes a main or primary memory 608, such asrandom access memory (RAM). Main memory 608 may include one or morelevels of cache. Main memory 608 has stored therein control logic (i.e.,computer software) and/or data.

Computer system 600 may also include one or more secondary storagedevices or memory 610. Secondary memory 610 may include, for example, ahard disk drive 612 and/or a removable storage device or drive 614.Removable storage drive 614 may be a floppy disk drive, a magnetic tapedrive, a compact disk drive, an optical storage device, tape backupdevice, and/or any other storage device/drive.

Removable storage drive 614 may interact with a removable storage unit618. Removable storage unit 618 includes a computer usable or readablestorage device having stored thereon computer software (control logic)and/or data. Removable storage unit 618 may be a floppy disk, magnetictape, compact disk, DVD, optical storage disk, and/any other computerdata storage device. Removable storage drive 614 reads from and/orwrites to removable storage unit 618 in a well-known manner.

According to an exemplary embodiment, secondary memory 610 may includeother means, instrumentalities or other approaches for allowing computerprograms and/or other instructions and/or data to be accessed bycomputer system 600. Such means, instrumentalities or other approachesmay include, for example, a removable storage unit 622 and an interface620. Examples of the removable storage unit 622 and the interface 620may include a program cartridge and cartridge interface (such as thatfound in video game devices), a removable memory chip (such as an EPROMor PROM) and associated socket, a memory stick and USB port, a memorycard and associated memory card slot, and/or any other removable storageunit and associated interface.

Computer system 600 may further include a communication or networkinterface 624. Communication interface 624 enables computer system 600to communicate and interact with any combination of remote devices,remote networks, remote entities, etc. (individually and collectivelyreferenced by reference number 628). For example, communicationinterface 624 may allow computer system 600 to communicate with remotedevices 628 over communications path 626, which may be wired and/orwireless, and which may include any combination of LANs, WANs, theInternet, etc. Control logic and/or data may be transmitted to and fromcomputer system 600 via communication path 626.

In an embodiment, a tangible apparatus or article of manufacturecomprising a tangible computer useable or readable medium having controllogic (software) stored thereon is also referred to herein as a computerprogram product or program storage device. This includes, but is notlimited to, computer system 600, main memory 608, secondary memory 610,and removable storage units 618 and 622, as well as tangible articles ofmanufacture embodying any combination of the foregoing. Such controllogic, when executed by one or more data processing devices (such ascomputer system 600), causes such data processing devices to operate asdescribed herein.

Based on the teachings contained in this disclosure, it will be apparentto persons skilled in the relevant art(s) how to make and useembodiments of the invention using data processing devices, computersystems and/or computer architectures other than that shown in FIG. 6.In particular, embodiments may operate with software, hardware, and/oroperating system implementations other than those described herein.

CONCLUSION

It is to be appreciated that the Detailed Description section, and notthe Summary and Abstract sections, is intended to be used to interpretthe claims. The Summary and Abstract sections may set forth one or morebut not all exemplary embodiments of the invention as contemplated bythe inventors, and thus, are not intended to limit the invention or theappended claims in any way.

While the invention has been described herein with reference toexemplary embodiments for exemplary fields and applications, it shouldbe understood that the invention is not limited thereto. Otherembodiments and modifications thereto are possible, and are within thescope and spirit of the invention. For example, and without limiting thegenerality of this paragraph, embodiments are not limited to thesoftware, hardware, firmware, and/or entities illustrated in the figuresand/or described herein. Further, embodiments (whether or not explicitlydescribed herein) have significant utility to fields and applicationsbeyond the examples described herein.

Embodiments have been described herein with the aid of functionalbuilding blocks illustrating the implementation of specified functionsand relationships thereof. The boundaries of these functional buildingblocks have been arbitrarily defined herein for the convenience of thedescription. Alternate boundaries can be defined as long as thespecified functions and relationships (or equivalents thereof) areappropriately performed. Also, alternative embodiments may performfunctional blocks, steps, operations, methods, etc. using orderingsdifferent than those described herein.

References herein to “one embodiment,” “an embodiment,” “an exampleembodiment,” or similar phrases, indicate that the embodiment describedmay include a particular feature, structure, or characteristic, butevery embodiment may not necessarily include the particular feature,structure, or characteristic. Moreover, such phrases are not necessarilyreferring to the same embodiment. Further, when a particular feature,structure, or characteristic is described in connection with anembodiment, it would be within the knowledge of persons skilled in therelevant art(s) to incorporate such feature, structure, orcharacteristic into other embodiments whether or not explicitlymentioned or described herein. Additionally, some embodiments may bedescribed using the expression “coupled” and “connected” along withtheir derivatives. These terms are not necessarily intended as synonymsfor each other. For example, some embodiments may be described using theterms “connected” and/or “coupled” to indicate that two or more elementsare in direct physical or electrical contact with each other. The term“coupled,” however, may also mean that two or more elements are not indirect contact with each other, but yet still co-operate or interactwith each other.

The breadth and scope of the invention should not be limited by any ofthe above-described exemplary embodiments, but should be defined only inaccordance with the following claims and their equivalents.

What is claimed is:
 1. A mobile device comprising: at least oneprocessor configured to execute instructions for locating a controldevice, the instructions, when executed, causing the at least oneprocessor to: receive a request from a user to locate the controldevice; establish a connection between the mobile device and the controldevice; transmit, to the control device, a request for information tolocate the control device through the connection between the mobiledevice and the control device; and receive the requested informationfrom the control device.
 2. The mobile device of claim 1, wherein theinstructions, when executed, further cause the at least one processorto: provide visual presentation, haptic feedback, or auditory feedbackof the information received from the control device to the user.
 3. Themobile device of claim 2, wherein the instructions, when executed,further cause the at least one processor to: visually present, based onthe received information, one or more user interface (UI) viewsincluding one or more UI elements to enable the user to determine aphysical location of the control device.
 4. The mobile device of claim1, wherein the information includes network and computation delayinformation, acoustic delay information, distance information, ordirection information of the control device.
 5. The mobile device ofclaim 4, further comprising: a touch sensitive display componentoperatively coupled to the at least one processor, wherein the touchsensitive display component is configured to visually present, on adisplay of the mobile device, the direction information of the controldevice as a first graphical user interface (UI) element and the distanceinformation of the control device as a second graphical UI element. 6.The mobile device of claim 5, wherein the first graphical UI element andthe second graphical UI element are visually presented on the display ofthe mobile device and continuously updated based at least on thedirection information of the control device and/or orientationinformation associated with the mobile device.
 7. The mobile device ofclaim 1, wherein the mobile device further comprises: a touch sensitivedisplay component operatively coupled to the at least one processor, andwherein the instructions, when executed, further cause the at least oneprocessor to receive touch input information from the user as therequest to locate the control device.
 8. The mobile device of claim 1,further comprising: an acoustic I/O component coupled to the at leastone processor, and wherein the instructions, when executed, furthercause the at least one processor to: receive acoustic token transmissioninformation from the control device; in response to receiving theacoustic token transmission information from the control device,generate acoustic output information; and provide the acoustic outputinformation to the acoustic I/O component.
 9. The mobile device of claim8, wherein the instructions, when executed, further cause the at leastone processor to: provide acknowledgement information to the controldevice.
 10. The mobile device of claim 8, wherein the acoustic tokentransmission information further comprises at least one of: waveforminformation, phase information, power information, or any combinationthereof.
 11. A computer-implemented method performed by a mobile device,comprising: receiving a request from a user to locate a control device;establishing a connection between the mobile device and the controldevice; transmitting, to the control device, a request for informationto locate the control device through the connection between the mobiledevice and the control device; and receiving the requested informationfrom the control device.
 12. The computer-implemented method of claim11, further comprising: providing visual presentation, haptic feedback,or auditory feedback of the information received from the control deviceto the user.
 13. The computer-implemented method of claim 12, furthercomprising: visually presenting, based on the received information, oneor more user interface (UI) views including one or more UI elements toenable the user to determine a physical location of the control device.14. The computer-implemented method of claim 11, wherein the informationincludes network and computation delay information, acoustic delayinformation, distance information, or direction information of thecontrol device.
 15. The computer-implemented method of claim 14, furthercomprising: visually presenting, on a display of the mobile device, thedirection information of the control device as a first graphical userinterface (UI) element and the distance information of the controldevice as a second graphical UI element.
 16. The computer-implementedmethod of claim 15, further comprising: continuously updating based atleast on the direction information of the control device and/ororientation information associated with the mobile device the firstgraphical UI element and the second graphical UI element visuallypresented on the display of the mobile device.
 17. Thecomputer-implemented method of claim 15, further comprising: receivingacoustic token transmission information from the control device; inresponse to receiving the acoustic token transmission information fromthe control device, generating acoustic output information; andproviding the acoustic output information to an acoustic I/O componentof the mobile device.
 18. A tangible non-transitory computer-readablemedium having instructions stored thereon that, when executed by acomputing device, cause the computing device to perform operationscomprising: receiving a request from a user to locate a control device;establishing a connection between a mobile device and the controldevice; transmitting, to the control device, a request for informationto locate the control device through the connection between the mobiledevice and the control device; and receiving the requested informationfrom the control device.
 19. The tangible non-transitorycomputer-readable medium of claim 18, wherein the operations furthercomprise: providing visual presentation, haptic feedback, or auditoryfeedback of the information received from the control device to theuser.
 20. The tangible non-transitory computer-readable medium of claim18, wherein the information includes network and computation delayinformation, acoustic delay information, distance information, ordirection information of the control device.